Skip to content

feat: complete v1.3.0 — doctor diagnostics, --backend flag, conformance tests#111

Merged
Shreyas582 merged 1 commit intomainfrom
feat/v1.3.0-complete
Apr 5, 2026
Merged

feat: complete v1.3.0 — doctor diagnostics, --backend flag, conformance tests#111
Shreyas582 merged 1 commit intomainfrom
feat/v1.3.0-complete

Conversation

@Shreyas582
Copy link
Copy Markdown
Owner

Summary

Implements the final three issues for the v1.3.0 Multi-Backend Inference Abstraction milestone.

#52 Provider-aware doctor diagnostics

  • ProviderRegistry::diagnose_all() iterates every registered backend and returns BackendDiagnostics (info + diagnostic entries), sorted by priority descending
  • wraithrun doctor now enumerates all compiled backends with availability status and per-backend diagnostic checks
  • Doctor JSON output includes a backends array conforming to the updated doctor-introspection.schema.json
  • Schema and example updated in docs/schemas/

#53 CLI --backend flag and auto-select strategy

  • --backend <NAME> flag added to override automatic backend selection (accepts ExecutionProviderBackend::name() values)
  • [inference] TOML section supported with backend = auto (default) or explicit backend name
  • WRAITHRUN_BACKEND environment variable support
  • Auto-select picks highest-priority available backend when no override given
  • Helpful error when the requested backend is unavailable or unknown (lists available backends)
  • Run report JSON includes backend field with the selected backend name
  • Run-report schema and example updated

#54 Integration test harness for multi-backend conformance

  • backend_contract_tests! macro generates 9 contract tests per backend (name, priority, availability, determinism, config_keys, diagnostics, sessions)
  • 5 registry-level tests (discover, diagnose_all ordering, best_available consistency, fallback build)
  • CPU conformance suite runs on every CI leg; Vitis suite runs when compiled with vitis feature
  • Adding a new backend requires only one line: backend_contract_tests!(name, BackendType)

Test results

  • 259 tests passing (14 new conformance tests)
  • Clippy clean (-D warnings)
  • cargo fmt --all -- --check clean

Closes #52, closes #53, closes #54

…ce tests

#52 Provider-aware doctor diagnostics:
- Add ProviderRegistry::diagnose_all() returning BackendDiagnostics
- Doctor output enumerates all compiled backends with availability
- Doctor JSON includes backends array with per-backend diagnostics
- Updated doctor-introspection schema and example

#53 CLI --backend flag and auto-select strategy:
- Add --backend <NAME> flag to override backend selection
- Support [inference] section in TOML config (backend = 'auto'|'cpu'|etc.)
- WRAITHRUN_BACKEND env var support
- Auto-select picks highest-priority available backend when unspecified
- Helpful error when requested backend is unavailable/unknown
- Run report JSON includes selected backend name
- Updated run-report schema and example

#54 Integration test harness for multi-backend conformance:
- backend_contract_tests! macro validates all trait methods
- 9 contract tests per backend (name, priority, availability, diagnostics, sessions)
- 5 registry-level tests (discover, diagnose_all, best_available, fallback)
- CPU conformance suite runs on every CI leg
- Vitis conformance suite runs when compiled with vitis feature

Closes #52, closes #53, closes #54
@Shreyas582 Shreyas582 added this to the v1.3.0 milestone Apr 5, 2026
@Shreyas582 Shreyas582 merged commit 8fee5fd into main Apr 5, 2026
10 checks passed
@Shreyas582 Shreyas582 deleted the feat/v1.3.0-complete branch April 5, 2026 04:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integration test harness for multi-backend conformance CLI --backend flag and auto-select strategy Provider-aware doctor diagnostics

1 participant